This application claims priority under 35 U.S.C. xc2xa7xc2xa7119 and/or 365 to 19992605 filed in Norway on May 31, 1999; the entire content of which is hereby incorporated by reference.
Ideally a user should be able to access the same applications/services and all his files or documents in exactly the same way, in the same presentation, with the same look-and-feel that he has personalized, no matter when and where he is or no matter what terminal he is using. Indeed, ideally the technology should be able to adapt to the user instead of requiring that the user must adapt to it, as the situation is today.
As depicted in FIG. 1, ideal user mobility means the ubiquitous availability of the user""s applications, his data files and his user profiles independently of the terminal in use. The applications comprise both the communication ones such as voice phone, video phone, conferencing, etc and the computing ones such as word processor, spread-sheet, mail, specific software, etc. The applications can use one medium or multiple media such as voice, video and data. The data files are of all types, either structured documents or unstructured raw data files. They can contain data for different types of media such as text, sound, picture or video. The user profiles capture the preferences, subscribed services and personalization that the user has chosen. Each user may have several profiles, for example one main profile for the main presentation and one for each application.
However, the physical characteristics of the underlying network and the terminal such as display size, processing and storage capability, media type, etc. are the unalterable limitations that prevent the total realization of the described ideal situation. Fortunately, the user usually understands such limitations and he is willing to accept some degradation or alteration. But, he has more difficulty to accept that given the required connectivity and a terminal with the required capability he is not able to access his applications, his documents. It is neither acceptable to require that the user must have quite a lot technical knowledge or must perform cumbersome, and time consuming configuration tasks.
In order to have a clearer view on how mobility is supported today, let us consider successively the cases of GSM (Global System for Mobile communication), UPT (Universal Personal Telecommunication), Mobile IP and Telnet/Remote login.
GSM offers terminal mobility meaning that the mobile user get the access to his services through his mobile cellular phone. GSM has telephony, i.e. voice communication as main application or basic service and a few other applications called supplementary services. The applications/services are well defined and complies with the ETSI (European Telecommunications Standards Institute) specifications. The application software (also called logic) must be installed and run on every location that supports telephony and supplementary applications. Each user has a user profile containing service restriction data such as list of subscribed services, roaming restriction, security data, charging data and routing data. The user profile is stored at the home site of the user, or more specifically in the Home Location Register (HLR). A copy is made and temporally stored at the domain currently visited by the user, or more specifically the Visitor Location Register (VLR). GSM offers very limited storage capability for user data. The existing user data are voice messages or SMS (Short Message Service) messages, which are saved in the home domain.
FIG. 2 shows a user moving from his home domain (HLR) to a visiting domain (VLR) with his phone. In the visiting domain there is installed only logic for basic service, i.e. telephony and supplementary service 1 but not supplementary service 2. Supplementary service 2 is hence not available for him during his visit at the visiting domain, His profile is copied over to the visiting domain and made available for him. His data remains at his home domain and can be accessed through a channel between the visiting domain and his home domain. GSM is functioning very well today when the number and type of applications are relatively small. But in the future with the blooming of applications in number and type combined with the variety in user""s preference and choice, it is not rational to expect that all applications will be present at every visiting domain. The user will as a result not be able to access all his applications. Another problem is related to the limited amount of user data that is in disposition of the user. It is reasonable to expect that the user will require more space for his data.
UPT allows the user to make and receive telephone calls from any terminal, fixed or mobile using a unique telephone number called UPT number. UPT can be viewed as a supplementary service built on top of the basic telephony service. Every time the UPT number is dialed, the UPT service is activated and performs the mapping of the UPT number to the number of the telephone that the user is currently used. Before making a call the user registers himself to the UPT service. The UPT service is only installed at the home domain of the user, more specifically in the home Service Control Point (SCP). The user profile is also kept only in the home domain, either in the SCP or the Service Data Point (SDP). UPT does not offer any data storage for the user.
FIG. 3 shows a user using a telephone at a visiting domain. To receive phone calls, he registers to the UPT service at home by calling a green number from the visiting domain. Every call request addressed to him arrives to his home UPT service, which deduces the number of his current terminal. Connection can then be established to this terminal. To make a call, the user dials again the green number of his home UPT service and then enters the number to call. Connection is then prolonged from his home domain to the requested terminal.
Although the UPT concept is valuable for the user it is today not implemented very efficiently since everything must first come the user home domain before going to his final location. A solution is to deploy the UPT service every where but this requires standardization, agreement and collaboration as in GSM.
IP or Internet Protocol is intended for networks of stationary computers or hosts. Each host is permanently assigned to an IP address that contains both the subnet identity and the host identity. There is no support for mobile hosts. The goal of mobile IP is to remedy this problem by allowing hosts to move and still be in communication with other hosts. By communication it is meant that other hosts are still able to send messages or packets to the mobile host and conversely the mobile host is able to send packets to other hosts. Mobile IP allows a mobile host to use two IP addresses. The home address is static and denotes the home domain, also called home network in mobile IP terminology. The care-of-address is dynamic and changes accordingly to the visiting domain, also called foreign network, to which the mobile host is currently attached. Whenever the mobile host is not at home, the home agent gets all the packets destined for the mobile hosts and forwards them to the foreign agent. The foreign agent arranges to deliver them to the mobile host.
Mobile IP focuses only on providing message communications for the mobile host and does not support the availability of other user applications, user profile or user data. Of course, if everything is stored locally on the mobile host then it will not be a problem. However, it is quite common for a business user to have only a subset of his applications, his data and profile on his laptop while the complete set remains on his corporate home domain. As shown in FIG. 4, if the user wants to access applications, profiles or data that reside only at his home domain then he has to change some configuration parameters. This is a cumbersome, time-consuming and quite boring task which presumes that the user knows the parameters and theirs new values. The user must also remember the initial values of the parameters in order to be able to restore when coming home.
In order to access his applications, his data and his profiles the user can also use Telnet, which has existed since the beginning of computer networks. As shown in FIG. 5 Telnet actually establishes a channel from the visiting domain to the home domain and allows the user to access his applications, data and profile located at his home domain. The Telnet protocol provides a standard interface for terminals and terminal-oriented communication. The protocol is normally used over TCP/IP but can also be supported by other protocols. When a Telnet connection is established each side is emulating a xe2x80x9cNetwork Virtual Terminalxe2x80x9d (NVT). It is this virtual device that provides the standard interface and hence dictates the look-and-feel. No personalization is possible. When establishing, options requests are sent back and forth as each side tries to negotiate the best possible services. The applications, which can be used from the visiting domain, are restricted by terminal resources, operating system and other restrictions at the application level. As a result, the user can normally access only a subset of his applications. Another disadvantage is the cost and trouble of keeping an open channel over a long period of time.
From the cases investigated in the previous sections, it is possible to summarize the mechanisms used to implement the mobility support as follows:
Enabling access of user applications, profiles and data located at home: This is done by establishing a channel from the visiting domain to the home domain as in the case of UPT, Mobile IP and Telnet.
Duplication of user applications, profiles and data on the visiting domain: This mechanism has again two variants:
a. Pre-duplication: This is done in the case of the basic service and some supplementary services in GSM
b. Dynamic duplication: This is done in the case of the user profile in GSM. Moving code or logic is quite restricted until the emergence of Java.
All the three mechanisms 1, 2a and 2b have both advantages and disadvantages, and are suitable only for a definite application, a definite situation, a definite visiting environment, a definite usage, etc. It is hence not possible to conclude that one mechanism is generally superior to another. Obviously, a combination of all three mechanisms would be the best solution. Further, such a combination should be dynamic, i.e. could be changed according to the situation. None of the current mobile systems is offering such required combination of the three mechanism for mobility support.
An object of the present invention is to provide improvements concerning the implementation of mobility support in a telecommunication network. More specifically, this invention enables a mobility support, which is closed to the ideal user mobility.
Another object is to device a method for providing mobility support for a user in a telecommunication network using mobile agents which is based on object-orientation and has high level of modularity. High level of reuse is hence promoted.
A further object of the invention is to device a method with great scalability and flexibility.
The problems with the prior art outlined above is solved according to the invention by introducing the concept of a mobile agent. Agent technology is in use to provide a mobile IP environment, as mentioned above, and is described further in international patent application WO98/459889 (Thanh) belonging to the present applicant. The difference between prior art agent technology and mobile agent technology according to the invention is great. An agent is not mobile but a mobile agent can be relocated. This is especially important in a big distributed system comprising many heterogene nodes which are connected together by many heterogene nets.
The mobile agent concept is very suitable to implement mobility support since it allows all three mechanisms mentioned above and also all possible combinations of them.
In fact, a strategically mobile agent might be the best solution to the mentioned problems. By strategic we mean that the agent will move according to the user preferences, network load and local resources. At a visiting domain, the user makes a request to his user agent, which is originally at his home domain. The user agent can inquire the visiting domain to obtain resource and capability information available on the visiting domain. The user agent can then travel to the visiting domain bringing along the user""s profile. It will then initialize the foreign environment and the user""s profile will be available to the user. Depending on different factors such as resources at the visiting domain, quality of the underlying network, type of applications, usage duration, etc. the user agent can decide which applications to move and which to access remotely. The combination used for each case will then be the most optimal according to the criteria defined by the user, the user agent and the visiting domain.
The exact scope of the invention is as defined in the appended patent claims.